/**
 * Treatment.java
 */

package edu.gatech.coc.betameisters.infoholders;

import java.io.Serializable;

import edu.gatech.coc.betameisters.infoholders.Constants.VisitType; // $codepro.audit.disable unnecessaryImport

/**
 * This is the treatment class. It doesn't do very much, it just represents a
 * treatment.
 * 
 * @author Henry Smith
 * @version 1.0
 * 
 */
public class Treatment implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 5115678558146242044L;

	/** The type of the treatment being represented. */
	private VisitType treatmentType;

	/** Additional details or other information. */
	private String treatmentDetails;

	/**
	 * This is the constructor with one parameter, and just sets the type.
	 * 
	 * @param treatmentType
	 *            the type of treatment.
	 */
	public Treatment(final VisitType treatmentType) { // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods
		this.setTreatmentType(treatmentType);
		treatmentDetails = "";
	}

	/**
	 * getter for treatmentDetails
	 * 
	 * @return File the treatmentDetails for this treatment
	 */
	public String getTreatmentDetails() {
		return treatmentDetails;
	}

	/**
	 * @return String representation of this treatment
	 */
	public String toString() {
		return "This Treatment is a " + treatmentType + 
		".\n Details are follows:\n" + treatmentDetails;
	}

	/**
	 * setter for treatmentDetails
	 * 
	 * @param treatDetails
	 */
	public void setTreatmentDetails(String treatDetails) {
		this.treatmentDetails = treatDetails;
	}

	/**
	 * Sets the type of the treatment being represented.
	 * 
	 * @param treatmentType
	 *            the new type of the treatment being represented
	 */
	public void setTreatmentType(VisitType treatmentType) {
		this.treatmentType = treatmentType;
	}

	/**
	 * Gets the type of the treatment being represented.
	 * 
	 * @return the type of the treatment being represented
	 */
	public VisitType getTreatmentType() {
		return treatmentType;
	}
}
